package singleUseDeprecated;

//import com.google.gson.Strictness;
import com.google.gson.stream.JsonWriter;

import java.io.StringWriter;

public class JsonWriterSetLenientExample {

    /**
     * 使用 JsonWriter 写入 JSON 数据，并控制宽松模式。
     */
    public static String writeJson(boolean isLenient) {
        try (StringWriter stringWriter = new StringWriter();
             JsonWriter jsonWriter = new JsonWriter(stringWriter)) {

            // 设置宽松模式（Deprecated 方法）
            jsonWriter.setLenient(isLenient);

            // 开始写入 JSON
            jsonWriter.beginObject();
            jsonWriter.name("key1").value("value1");
            jsonWriter.name("key2").value("value2");
            jsonWriter.endObject();

            return stringWriter.toString();
        } catch (Exception e) {
            return "Error writing JSON: " + e.getMessage();
        }
    }

    //替换弃用API 该方法不适用于该版本
//    public static String writeJson2(boolean isLenient) {
//        try (StringWriter stringWriter = new StringWriter();
//             JsonWriter jsonWriter = new JsonWriter(stringWriter)) {
//
//            // 使用 setStrictness 来替换 setLenient
//            jsonWriter.setStrictness(isLenient ? Strictness.LENIENT : Strictness.STRICT);
//
//            // 开始写入 JSON
//            jsonWriter.beginObject();
//            jsonWriter.name("key1").value("value1");
//            jsonWriter.name("key2").value("value2");
//            jsonWriter.endObject();
//
//            return stringWriter.toString();
//        } catch (Exception e) {
//            return "Error writing JSON: " + e.getMessage();
//        }
//    }
}
